package datos;

public class VectorizadorAtributos implements IAdapter<Dato, Double[]> {
	private Atributo<Double>[] ordenAtributos;
	
	public VectorizadorAtributos(Atributo<Double>[] ordenAtributos)
	{
		this.ordenAtributos = ordenAtributos;
	}
	
	@Override
	public Double[] adapt(Dato a) {
		Double[] resultado = new Double[ordenAtributos.length];
		
		for(int i = 0; i < ordenAtributos.length; i++)
		{
			System.out.println("Atributo: " + ordenAtributos[i].getNombre());
			Object valor = a.getAtributo(ordenAtributos[i]);
			
			if(!(valor instanceof Double))
			{
				throw new RuntimeException("Uno de los atributos no tiene un valor num�rico.");
			}
			
			resultado[i] = (Double)valor;
		}
		
		return resultado;
	}
}
